The present disclosure relates to natural language processing, and more specifically, to monitoring search query input to provide predictive search engine query suggestions.
Many search engines include a predictive search feature that suggests a complete search query as a user types search terms in real-time. For example, if the user types the term “star” into the interface and does not submit the query, the interface may present a list of several query suggestions (e.g., in a drop-down box) that include the term “star”, such as “star pizza”, “star adventures”, “stars on ice”, and “starfish”. The suggestions may be based on how frequently a given word (or phrase) is being searched. To provide meaningful assistance, a set of suggestions may be a short list featuring a broad spectrum of query possibilities, reflecting the range of contexts in which the input terms are used, enabling the user to quickly find sets of terms most relevant to his or her search. Unfortunately, the prior art search term suggestion methods are not always so helpful and can suggest multiple possibilities that are practically redundant with one another.
Typically, predictive search techniques are limited to suggesting queries in which the user input is the first part of the query. Continuing the previous example, although the search engine may present a number of suggestions that begin with the term “star,” the search engine is unable to suggest queries such as “neutron star”, “movie star”, or “crowned with the stars”. In addition, current techniques provide suggestions based on semantic analysis. That is, the search engine may determine what to suggest to a user based on a semantic meaning of the word typed by the user. While semantic analysis of relatively short input terms, such as “star”, can provide for suggestions of alternate terms, such as “sun”, it does not typically provide for interpretations leading to more detailed search queries based on the input terms themselves, such as “brightest star”. Thus the need exists for a method for suggesting a broad-spectrum set of search query terms, including relatively detailed suggestions that reflect a range of the various instances in which the input terms or their synonyms may be used.